// API配置

// src/api/config.ts
import axios from 'axios';

// 导入utils的配置
import service from './utils/request';
import { Message } from '@arco-design/web-vue';

// // 导出axios实例
// export const apiClient = service;


// 从环境变量获取API基础URL
export const API_BASE_URL = import.meta.env.VITE_API_BASE_URL || 'http://localhost:3000';
export const AI_API_KEY = import.meta.env.VITE_AI_API_KEY || '';


// --- 因为使用utils的配置,所以把这个禁用了

// // 创建axios实例
export const apiClient = axios.create({
  baseURL: API_BASE_URL,
  timeout: 30000, // 30秒超时
  headers: {
    'Content-Type': 'application/json',
  },
});

// 请求拦截器
apiClient.interceptors.request.use(
  (config) => {
    // 添加认证头
    if (AI_API_KEY) {
      // 方式一：使用类型断言
      (config.headers as any)['Authorization'] = `Bearer ${AI_API_KEY}`;
      
      // 或者方式二：使用 axios 提供的 set 方法（如果可用）
      // config.headers.set('Authorization', `Bearer ${AI_API_KEY}`);
    }
    return config;
  },
  (error) => {
    Message.error('API请求错误--请求拦截器:', error);
    return Promise.reject(error);
  }
);

// 请求拦截器
apiClient.interceptors.request.use(
  (config) => {
    // 添加认证头
    if (AI_API_KEY) {
      if (config.headers) {
        config.headers['Authorization'] = `Bearer ${AI_API_KEY}`;
      }
    }
    return config;
  },
  (error) => {
    Message.error('API请求错误--响应拦截器:', error);
    return Promise.reject(error);
  }
);